package com.gscitysfy.cus.drain.modules.inspection.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.gscitysfy.cus.drain.utils.DateUtil;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

@Getter
@Setter
@EqualsAndHashCode
public class DrainInspectionMnJobExcel  implements Serializable {

    /**
     * 计划编号
     */
    @ExcelProperty("计划编号")
    private String cmPlanNo;

    /**
     * 计划名称
     */
    @ExcelProperty("计划名称")
    private String cmPlanName;


    @ExcelProperty("任务编号")
    private String  cmJobNo;


    /**
     * 计划开始日期
     */
    @ExcelProperty("任务开始时间")
    private String cmJobStartDateDecs;


    @ExcelIgnore()
    private Date cmJobStartDate;

    public void setCmJobStartDate(Date cmJobStartDate) {
        this.cmJobStartDate = cmJobStartDate;
        if(Objects.nonNull(cmJobStartDate)){
            this.cmJobStartDateDecs = DateUtil.dateToDateString(cmJobStartDate, "yyyy-MM-dd");
        }
    }


    @ExcelIgnore()
    private Date cmJobActualStartDate;

    @ExcelProperty("实际开始时间")
    private String cmJobActualStartDateDesc;


    public void setCmJobActualStartDate(Date cmJobActualStartDate) {
        this.cmJobActualStartDate = cmJobActualStartDate;
        if(Objects.nonNull(cmJobActualStartDate)){
            this.cmJobActualStartDateDesc = DateUtil.dateToDateString(cmJobActualStartDate, "yyyy-MM-dd");
        }
    }

    /**
     * 计划依据
     */
    @ExcelProperty("计划依据")
    private String cmPlanBasis;

    /**
     * 计划类型
     */
    @ExcelProperty("计划类型")
    private String cmPlanType;

    /**
     * 计划巡检对象类别
     */
    @ExcelProperty("计划对象类别")
    private String cmPlanObjectType;

    /**
     * 计划频次
     */
    @ExcelProperty("计划频次")
    private String cmPlanFrequency;

    /**
     * 计划负责人名称
     */
    @ExcelProperty("计划负责人")
    private String cmPlanHeaderName;

    /**
     * 计划负责人电话
     */
    @ExcelProperty("负责人电话")
    private String cmPlanHeaderPhone;

    /**
     * 计划执行人名称，以空格分隔
     */
    @ExcelProperty("计划执行人")
    private String cmPlanExecutorName;

    /**
     * 计划执行人名称，以空格分隔
     */
    @ExcelProperty("巡检任务状态")
    private String status;

}
